package org.orion.engine.math;

import java.nio.FloatBuffer;

import com.sun.opengl.util.BufferUtil;

public class VectorUtils {
	public static FloatBuffer toBuffer(Vector3d v) {
		FloatBuffer floatBuffer = BufferUtil.newFloatBuffer(3);
		floatBuffer.put((float) v.x);
		floatBuffer.put((float) v.y);
		floatBuffer.put((float) v.z);
		floatBuffer.rewind();
		return floatBuffer;
	}

	public static FloatBuffer toBuffer(Vector4d v) {
		FloatBuffer floatBuffer = BufferUtil.newFloatBuffer(4);
		floatBuffer.put((float) v.x);
		floatBuffer.put((float) v.y);
		floatBuffer.put((float) v.z);
		floatBuffer.put((float) v.w);
		floatBuffer.rewind();
		return floatBuffer;
	}
	
	public static FloatBuffer toBuffer(float[] v) {
		FloatBuffer floatBuffer = BufferUtil.newFloatBuffer(v.length);
	    for (int i = 0; i < v.length; i++)
	    	floatBuffer.put(v[i]);
	    floatBuffer.rewind();
	    return floatBuffer;
	}
}
